iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 17
1

討論完一些區塊鏈議題,回到以太坊區塊鏈,我想說的最後一個主題,ERC-20。

在 EOS 利用智能合約成功進行 ICO 後,許多仿效者像雨後春筍般出現。每個專案、企劃都建立了自己的智能合約。每個智能合約內容皆是大同小異,主要都是輸入一定數量的 ETH 換取特定數量的 TOKEN。加上一些基本功能,例如:移轉、TOKEN名稱、總發行量等等。

TOKEN,中文常用代幣來稱呼,像是 EOS 發行的 TOKEN,就被稱為 EOS 幣!(現在 EOS 幣一般來說是指主鏈的 EOS,而不再是ERC-20的 EOS 幣!)

但是每個人都寫類似功能的智能合約,但是 Function 與使用方式不一樣,很不方便吧?(對開發人員而言),所以利用以太坊區塊鏈的 TOKEN標準ERC-20,能夠更快速與更方便其他人使用。

在 ERC-20 中定義了六個 Function 與兩個事件,在實作 TOKEN 智能合約時,遵循這個標準開發,就可以被稱為 ERC-20 TOKEN。

contract ERC20Interface {
    # 以下註解說明若有錯誤,以官方說明為主。
    # https://github.com/ethereum/EIPs/issues/20
    
    # 查詢代幣發行量
    function totalSupply() public constant returns (uint);
    
    # 查詢某地址的擁有代幣數量
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    
    # 查詢某智能合約或地址可操作的代幣數量
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    
    # 將代幣轉出給某定址
    function transfer(address to, uint tokens) public returns (bool success);
    
    # 授權某智能合約或地址可操作的代幣數量
    function approve(address spender, uint tokens) public returns (bool success);
    
    # 將某帳戶的代幣轉到另一個帳戶
    function transferFrom(address from, address to, uint tokens) public returns (bool success);
    
    # 當發生轉移時觸發的事件紀錄
    event Transfer(address indexed from, address indexed to, uint tokens);
    
    # 當發生授權時觸發的事件紀錄
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

這個偉大的發明,讓各式各樣的『幣』像雨後春筍般出現。只要花費一點 GAS(以太坊區塊鏈的交易手續費),人人都可以印鈔票。隨便開啟一個虛擬貨幣交易所看看,有多少幣是你聽過的?現在在看到某個幣時,你可以看看是不是以太坊區塊鏈為底的 ERC-20。

現在有太多虛擬貨幣了,有大部分都是出自 ERC-20。有自己技術的主鏈幣,例如:BTC
、ETH 很少。

以太坊區塊鏈我知道的一些特色就介紹到這裡,歡迎指教與討論。


上一篇
區塊鏈迷思(1):TPS、隱私、集中算力(下集)
下一篇
虛擬幣是錢嗎?通貨、貨幣與法幣
系列文
區塊鏈淺談:從創世到末日,上月球到落地30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言